package org.uma.kri.nyu.mor.almas.application;

import android.app.Application;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;
import android.support.v7.app.ActionBarActivity;

/**
 * Almasアプリケーションクラス
 * @author uma
 */
public class AlmasApplication extends Application {
	
	/** AlmasApplicationインスタンス */
	private static AlmasApplication instance;
	/** カレントアクティビティ */
	private ActionBarActivity currentActivity;
	/** カレントアカウント */
	private String currentAccount;
	/** シェアドプリファレンス */
	private SharedPreferences sharedPref;
	
	/**
	 * コンストラクタ
	 */
	public AlmasApplication() {
		instance = this;
	}
	
	@Override
	public void onCreate() {
		super.onCreate();
		
		// プリファレンスから最後に選択したアカウントを取得し、カレントアカウントとする。
		instance.sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
		instance.currentAccount = sharedPref.getString("account", "");
	}
	
	/**
	 * AlmasApplicationインスタンス取得
	 * @return
	 */
	public static AlmasApplication getInstance() {
		return instance;
	}
	
	/**
	 * カレントアクティビティ取得
	 * @return カレントアクティビティ
	 */
	public static ActionBarActivity getCurrentActivity(){
		return instance.currentActivity;
	}
	
	/**
	 * カレントアクティビティ設定
	 * @param activity アクティビティ
	 */
	public static void setCurrentActivity(ActionBarActivity activity){
		instance.currentActivity = activity;
	}
	
	/**
	 * カレントアカウントの取得
	 * @return カレントアカウント
	 */
	public static String getCurrentAccount(){
		return instance.currentAccount;
	}
	
	/**
	 * カレントアカウント設定
	 * @param account カレントアカウント
	 */
	public static void setCurrentAccount(String account){
		instance.currentAccount = account;
		
		// カレントアカウントをプリファレンスへ書き出し
		Editor editor = instance.sharedPref.edit();
		editor.putString("account", account);
		editor.commit();
	}
}
